【安卓】Android Jetpack架构组件(四)之LiveData
一、 LiveData简介LiveData是Jetpack架构组件Lifecycle 库的一部分,是一个可感知生命周期的可观察容器类 (Observable)。与常规的可观察类不同,LiveData 具有生命周期感知能力,这意味着它具有感知应用组件(如 Activity、Fragment 或 Service)的生命周期的能力,并且LiveData仅更新处于活跃生命周期状态的应用组件观...
2024-01-10Android:ffmpeg,文件名包含空格
我想从Android应用程序执行ffmpeg,非常像这里所述:将FFmpeg与Android-NDK结合使用。执行以下命令可以正常工作:Process p = Runtime.getRuntime().exec("/data/data/yourpackagename/ffmpeg -i infile.mp4 outfile.mp4");要么Process p = Runtime.getRuntime().exec(new String[]{"/data/data/yourpackagename/ffmpeg...
2024-01-10@Update如何在Android Room中工作?
我已经在一个房间里的数据库,我想相应检查它是否等于某些数据和更新行数据,如:@Update如何在Android Room中工作?if (dataInDatabase.equals(providedData)) { // update existing data. } 我已经是一个自动生成的ID和存在的唯一@PrimaryKey没有@ForeignKeys。我知道现有数据只能使用@PrimaryKey更新,但我检查的数据不是...
2024-01-10Android okhttp的启动流程及源码解析
目录前言什么是OKhttpOkHttp是如何做网络请求的1.它是如何使用的?1.1 通过构造者模式添加 url,method,header,body 等完成一个请求的信息 Request 对象1.2 同样通过构造者模式创建一个 OkHttpClicent 实例,可以按需配置1.3 创建 Call 并且发起网络请求2.如何通过 Call 发起请求?2.1 Call 是什么2.2 发起请求-异步请求...
2024-01-10Android使用OkHttp进行重定向拦截处理的方法
网上有很多的OkHttp的教程,但是并没有一个是关于如何OkHttp处理重定向的。这里的处理重定向的意思是:把重定向请求拦截下来,然后我们自己去请求重定向后的网页,然后通过Jsoup解析自己需要的网页数据。比如说我们模拟用户登录,然后自己去请求解析登陆后跳转的网页的内容。为什么要做这样的...
2024-01-10在Android的OKhttp中通过POST请求发送JSON正文
我已经设置好OkHttpClient并成功将GET请求发送到服务器。而且,我还可以将带有空body标签的POST请求发送到服务器。现在,我正在尝试将以下JSON对象发送到服务器。{"title": "Mr.","first_name":"Nifras","last_name": "","email": "nfil@gmail.com","contact_number": "75832366","billing_address": "","connected_via":"Application"}为此,我...
2024-01-10Android原生页面A与React页面相互跳转
最近需要预研一下 将React 代码打个aar包供给android 项目使用,由于牵扯到页面跳转,所以首先得实现Android原生页面即Activity 跳转到React的 js页面。 这里简单的记一下一,Activity跳转到React 页面创建一个react native 项目,这个很简单用android studio在对应的android 中创建一个类LaunchActivity,作为我们项目的...
2024-01-10Android适配器(Adapter)的概念与自定义
目录一、什么是适配器二、Adapter基本概念和继承关系三、自定义适配器实例1.文件结构2.xml内容3.java内容四、参考资料总结一、什么是适配器在常见软件中,往往能看到列表一样的信息流,例如:如果在xml中将信息写死,那显然是不合适的,无法做到上拉刷新的效果。这个时候,就需要用到适配器...
2024-01-10轻轻松松带你入门Android Jetpack(含Jetpack Compose),容易肝不难!
JetPack 不是一个库。更多的是Google的一个态度。Android Jetpack是什么Jetpack 是 Google 为解决 Android 开发碎片化,打造成熟健康生态圈提出的战略规划,是 Google 对 Android 未来提出的发展方向,同时它也是众多优秀 Android 组件的集合。Jetpack的优势:Jetpack 拥有基于生命周期感知的能力,可以减少NPE崩溃、内存...
2024-01-10Android token过期刷新处理的方法示例
tokentoken的意思是“令牌”,是用户身份的验证方式,最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由token的前几位+盐以哈希算法压缩成一定长的十六进制字符串,可以防止恶意第三方拼接token请求服务器)。还可以把不变的参数也放进token,避免多次查库。第一种方...
2024-01-10UsbRequest.queue导致Android 3.1应用程序崩溃
我正在开发一个Android 3.1应用程序,该应用程序使用USB主机模式通过USB上的MIDI与我的键盘(KorgM3)进行通信。这是在装有Android4.0.3的Xoom上运行的。我可以通过USB接收MIDI消息而没有任何问题,但是将音符数据发送回键盘的效果是好坏参半,延迟半秒钟后便会频繁崩溃。这是我在点击操作栏上的按钮发...
2024-01-10android spinner 当前选中项如何右对齐?
android spinner 当前选中项如何右对齐?我的代码如下: <Spinner android:id="@+id/houseSituation" android:layout_width="wrap_content" android:layout_height="wrap_content" tools:listitem="@android:layout/si...
2024-02-08Firebase Android代理设置
我已经制作了一个android应用https://play.google.com/store/apps/details?id=com.confesco.maggi,它可以将Firebase用作数据库,在使用3G网络时效果很好。在我们学院的代理下,它没有连接到数据库。有什么办法可以解决这个问题。谢谢。回答:很抱歉,目前尚无通过代理使用Android客户端的解决方法。我已将其放在Fireba...
2024-01-10android读取assets中Excel表格并显示
本文实例为大家分享了android读取assets中Excel的具体代码,供大家参考,具体内容如下1.在assets下放的excel表格,命名为excel.xls 2.添加读取excel需要的jar包”jxl.jar”,assets是建在main级别目录下,建错地方找不到文件 3.读取excel中的文件/*获取excel表格中的数据不能在主线程中调用 xlsName 为表格的名称 ...
2024-01-10android——用 insert 往数据库中的表,打开不了表
我用 insert() 往数据库中的表添加了一些数据。我创建的数据库名称为BookStore, 表的名字是Book。一下是通过点击按键,然后插入数据的语句。Button addData=(Button)findViewById(R.id.add_data);addData.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v){ ...
2024-01-10android自动工具类TextUtils使用详解
今天,简单讲讲如何使用android自动的工具类TextUtils。简单列举部分用法:Log.d(TAG, "---------------------------------"); //字符串拼接 Log.d(TAG, TextUtils.concat("Hello", " ", "world!").toString()); //判断是否为空字符串 Log.d(TAG, TextUtils.isEmpty("Hello") + ""); //判断是否只有数字 Log.d(TAG, ...
2024-01-10android通过servlet上传文件到服务器
本文实例为大家分享了android通过servlet上传文件到服务器的具体代码,供大家参考,具体内容如下服务器端:部署在Tomcat上,直接在myEclipse上开发即可package com; import java.io.BufferedInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import ...
2024-01-10electron sqlite3数据库环境安装
在electron中使用sqlite3,是个很奇妙的体验。你可以在网页(渲染进程)的js脚本里面,写sql语句,删除和修改数据库。这是传统网页代码,所不能实现的功能。当然,你还可以在主进程里面写这样的sql语句,体会winform一致的感受。是不是听上去不错?不过这里面也是有不少大坑的。electron 搭配 sqlite3 ...
2024-01-10android textview设置字体的行距和字间距
字间距textView有一个属性android:textScaleX是调节字间距的,它的值是一个float型。查看源代码,默认textView 此属性是使用的是:android.internal.R.styleable.TextView_textScaleXsetTextScaleX(a.getFloat(attr, 1.0f));行间距Android系统中TextView默认显示中文时会比较紧凑,不是很美观。为了让每行保持一定的行间距,可以设...
2024-01-10Android table布局开发实现简单计算器
本文实例为大家分享了Android table布局开发实现简单计算器的具体代码,供大家参考,具体内容如下结果如图:XML文件如下:<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/container"android:layout_width="match_parent"android:layo...
2024-01-10浅谈Android设计模式学习之观察者模式
观察者模式在实际项目中使用的也是非常频繁的,它最常用的地方是GUI系统、订阅——发布系统等。因为这个模式的一个重要作用就是解耦,使得它们之间的依赖性更小,甚至做到毫无依赖。以GUI系统来说,应用的UI具有易变性,尤其是前期随着业务的改变或者产品的需求修改,应用界面也经常性变化...
2024-01-10Android Gson基本用法学习
目录1. 导入Android Studio工程2. 简单的 Java Object 序列化/反序列化序列化反序列化3. 嵌套 Java Object 的序列化/反序列化4. Array 和 List 的序列化/反序列化序列化反序列化1 Array的反序列化2 List的反序列化5. Map 和 Set 的序列化/反序列化6. 变量值为null时的序列化/反序列化7. 控制序列化/反序列化 的变量名称8. 序...
2024-01-10Android学习之Flux架构入门
Flux 架构介绍Flux 架构 被Facebook使用来构建他们的客户端web应用。跟Clean Architecture一样,它不是为移动应用设计的,但是它的特性和简单可以让我们很好的在安卓项目中采用。Flux模式最大的特点是单向的数据流,它的UI状态更新模式继承了MVC模式的设计思想。Flux并不是具体的框架,而是一套处理UI问...
2024-01-10Android学习教程之2D绘图基础及绘制太极图
前言Android是通过graphics类来显示2D图形的。其中graphics中包括了Canvas、Paint、Color、Bitmap等类。graphics具有绘制点、线、颜色、2D几何图形、图像处理等功能。其中Color和Bitmap是很常用的类,本文主要要讲的是Canvas和Paint。顾名思义就是画布和画笔。Canvas类Canvas即画布,我们需要做的就是使用之前设置好...
2024-01-10Android学习之动画基础
一:逐帧动画1、效果展示逐帧动画是以图片为基础的,通过AniamtionDrawable来实现的,如上图所示。2、实现步骤1)、通过animation-lis建立帧动画xml文件<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:drawable="@drawable/frame_1"android:durat...
2024-01-10Android中的动态加载机制的学习研究
在目前的软硬件环境下,Native App与Web App在用户体验上有着明显的优势,但在实际项目中有些会因为业务的频繁变更而频繁的升级客户端,造成较差的用户体验,而这也恰恰是Web App的优势。本文对网上Android动态加载jar的资料进行梳理和实践在这里与大家一起分享,试图改善频繁升级这一弊病。Android...
2024-01-10深入学习Android中的Intent
Intent提供了一种通用的消息系统,它允许在你的应用程序见传递Intent来执行动作和产生事件,使用Intent可以激活Android应用的三种类型的核心组件:活动Activity、服务Service、广播接受者Broadcast。Intent又分为隐士意图和显示意图。显示意图:调用intent.setComponent()、intent.setClassName()或者intent.setClass()方法明...
2024-01-10Android 事件触发机制的深入学习
Android 事件触发机制的深入学习最近在研究android的事件触发和传播机制,说来很惭愧,web下的事件太熟悉不过了,可在android中却很郁闷,常用的触摸事件都糊里糊涂的,在网上看了半天,也整理一份,供大家参考:public class CustomDefaultActivity implements OnTouchListener { private GestureDetector gd1; private Tabl...
2024-01-10android左连接与房间查询
我正在尝试更改我的sqlite数据库与房间库。我有点困惑与左连接查询。android左连接与房间查询我已经用sqlite实现了它,但不知道如何才能达到同样的房间?这里是我创建表:第一个表:通知db.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_NAME ($COLUMN_ID INTEGER PRIMARY KEY, $ICON TEXT, $TITLE INTEGER," + " $DATE INTEGER, $TYPE...
2024-01-10Android开发学习实现简单计算器
这里是用线性布局实现的计算器,为防止以后再回顾知识代码找不到,特将代码贴在这里:xml文件的布局代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/to...
2024-01-10